class PasswordResetsController < ApplicationController
  before_filter :require_no_user
  before_filter :load_user_using_perishable_token, :only => [:edit]

  layout 'users'
  
  def new
    render
  end
  
  def create
    @user = User.find_by_email(params[:user][:email])
    if @user
      @user.deliver_password_reset_instructions!
      flash[:notice] = "Instrukcje dotyczące wyzerowania hasło zostały wysłane na Twoją skrzynkę. Sprawdź swojego e-maila."
      redirect_to :controller => 'users', :action => 'about'
    else
      flash[:error] = "Nie znaleziono użytkownika o podanym adresie e-mail."
      render :action => 'new'
    end
  end
  
  def edit
    render
  end

  def update
    @user = User.find(params[:id]) # makes our views "cleaner" and more consistent
    if @user.update_attributes(params[:user])
      flash[:notice] = "Hasło pomyślnie zaktualizowane."
      if !@user.active?
        if @user.activate!
          flash[:notice] = "Twoje konto zostało aktywowane!"
        end
      end
      redirect_to :controller => 'users', :action =>'about'
    else
      render :action => :edit
    end
  end

  private
    def load_user_using_perishable_token
      @user = User.find_using_perishable_token(params[:id], 1.days)
      unless @user
        flash[:notice] = "Niestety nie znaleziono Twojego konta" +
          "Być może źle skopiowałeś link"
        redirect_to root_url
      end
    end
end
